package com.goldcn.order.dto;

import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * Created by 1111 on 2016/12/3.
 */
public class CopyOrDirectBuyDto {
    @ApiModelProperty(value = "订单ID，仅复制下单传值")
    private Long orderID;
    @ApiModelProperty(value = "仅立即购买下单传值")
    private Long skuID;
    @ApiModelProperty(value = "1复制下单，2立即购买")
    private Integer type;
    @ApiModelProperty(value = "数量，仅立即购买传值")
    private Integer qty;
    @ApiModelProperty(value = "买家用户ID,仅立即购买传值")
    private Long userID;
    @ApiModelProperty(value = "卖家用户ID,仅立即购买传值")
    private Long sellerID;
    @ApiModelProperty(value = "卖家用户名,仅立即购买传值")
    private String sellerName;
    @ApiModelProperty(value = "地址ID")
    @NotNull(message = "{addressID.not.empty}")
    private Long addressID;
    @ApiModelProperty(value = "0不需要,1个人发票，2公司发票")
    @NotNull(message = "{invoices.not.empty}")
    private Integer invoices;
    @ApiModelProperty(value = "发票抬头")
    private String invoicesHead;

    @ApiModelProperty(value = "公司纳税人识别号")
    private String invoicesNO;

    @ApiModelProperty(value = "金豆数量")
    private BigDecimal pointQty = BigDecimal.ZERO;

    @ApiModelProperty(value = "金豆金额")
    private BigDecimal pointAmount = BigDecimal.ZERO;

    @ApiModelProperty(value = "优惠类型: 1:金豆 2:优惠券,default:1", dataType = "String", required = false)
    private String couponType = "1";

    @ApiModelProperty(value = "发票类型:1电子发票2纸质发票,default:1", dataType = "Integer", required = false)
    private Integer invoicesType;

    private Long companyID;

    @ApiModelProperty(value = "订单类型:1线下支付", dataType = "Integer")
    private Integer orderPayType;

    @ApiModelProperty(value = "优惠类型:0不优惠,1优惠", dataType = "Integer")
    private Integer discountType;

    private Integer discountWay;//1会员优惠，2代理商折扣，3奖金折扣

    private BigDecimal price; // add by lmn

    private List<SkuPriceDto> skuPrice;

    private Long shopID;

    @ApiModelProperty(value = "优惠ID", dataType = "Long")
    private Long couponID;

    public Integer getDiscountType() {
        return discountType;
    }

    public void setDiscountType(Integer discountType) {
        this.discountType = discountType;
    }

    public Long getOrderID() {
        return orderID;
    }

    public void setOrderID(Long orderID) {
        this.orderID = orderID;
    }

    public Long getSkuID() {
        return skuID;
    }

    public void setSkuID(Long skuID) {
        this.skuID = skuID;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getQty() {
        return qty;
    }

    public void setQty(Integer qty) {
        this.qty = qty;
    }

    public Long getUserID() {
        return userID;
    }

    public void setUserID(Long userID) {
        this.userID = userID;
    }

    public Long getSellerID() {
        return sellerID;
    }

    public void setSellerID(Long sellerID) {
        this.sellerID = sellerID;
    }

    public String getSellerName() {
        return sellerName;
    }

    public void setSellerName(String sellerName) {
        this.sellerName = sellerName;
    }

    public Long getAddressID() {
        return addressID;
    }

    public void setAddressID(Long addressID) {
        this.addressID = addressID;
    }

    public Integer getInvoices() {
        return invoices;
    }

    public void setInvoices(Integer invoices) {
        this.invoices = invoices;
    }

    public String getInvoicesHead() {
        return invoicesHead;
    }

    public void setInvoicesHead(String invoicesHead) {
        this.invoicesHead = invoicesHead;
    }

    public BigDecimal getPointQty() {
        return pointQty;
    }

    public void setPointQty(BigDecimal pointQty) {
        this.pointQty = pointQty;
    }

    public BigDecimal getPointAmount() {
        return pointAmount;
    }

    public void setPointAmount(BigDecimal pointAmount) {
        this.pointAmount = pointAmount;
    }

    public String getCouponType() {
        return couponType;
    }

    public void setCouponType(String couponType) {
        this.couponType = couponType;
    }

    public Long getCompanyID() {
        return companyID;
    }

    public void setCompanyID(Long companyID) {
        this.companyID = companyID;
    }

    public Integer getInvoicesType() {
        return invoicesType;
    }

    public void setInvoicesType(Integer invoicesType) {
        this.invoicesType = invoicesType;
    }

    public Integer getOrderPayType() {
        return orderPayType;
    }

    public void setOrderPayType(Integer orderPayType) {
        this.orderPayType = orderPayType;
    }

    public String getInvoicesNO() {
        return invoicesNO;
    }

    public void setInvoicesNO(String invoicesNO) {
        this.invoicesNO = invoicesNO;
    }

    public Integer getDiscountWay() {
        return discountWay;
    }

    public void setDiscountWay(Integer discountWay) {
        this.discountWay = discountWay;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public List<SkuPriceDto> getSkuPrice() {
        return skuPrice;
    }

    public void setSkuPrice(List<SkuPriceDto> skuPrice) {
        this.skuPrice = skuPrice;
    }

    public Long getShopID() {
        return shopID;
    }

    public void setShopID(Long shopID) {
        this.shopID = shopID;
    }


    public Long getCouponID() {
        return couponID;
    }

    public void setCouponID(Long couponID) {
        this.couponID = couponID;
    }
}
